import { BasePageInput } from "../baseModels";
import { SysJobTrigger } from "./sysJobTrigger";

export namespace SysJobDetail {
  /**
   *
   *
   * @export
   * @interface JobDetailPageInput
   */
  export interface JobDetailPageInput extends BasePageInput {
    /**
     * 作业Id
     *
     * @type {string}
     * @memberof JobDetailPageInput
     */
    jobId?: string;

    /**
     * 描述信息
     *
     * @type {string}
     * @memberof JobDetailPageInput
     */
    description?: string;
  }
  /**
   *
   *
   * @export
   * @interface JobDetailIdInput
   */
  export interface JobDetailIdInput {
    /**
     * 作业Id
     *
     * @type {string}
     * @memberof JobDetailIdInput
     */
    jobId?: string;
  }
  /**
   * 系统作业信息表
   *
   * @export
   * @interface SysJobDetail
   */
  export interface SysJobDetail {
    /**
     * 雪花Id
     *
     * @type {number}
     * @memberof SysJobDetail
     */
    id?: number;

    /**
     * 作业Id
     *
     * @type {string}
     * @memberof SysJobDetail
     */
    jobId: string;

    /**
     * 组名称
     *
     * @type {string}
     * @memberof SysJobDetail
     */
    groupName?: string;

    /**
     * 作业类型FullName
     *
     * @type {string}
     * @memberof SysJobDetail
     */
    jobType?: string;

    /**
     * 程序集Name
     *
     * @type {string}
     * @memberof SysJobDetail
     */
    assemblyName?: string;

    /**
     * 描述信息
     *
     * @type {string}
     * @memberof SysJobDetail
     */
    description?: string;

    /**
     * 是否并行执行
     *
     * @type {boolean}
     * @memberof SysJobDetail
     */
    concurrent?: boolean;

    /**
     * 是否扫描特性触发器
     *
     * @type {boolean}
     * @memberof SysJobDetail
     */
    includeAnnotations?: boolean;

    /**
     * 额外数据
     *
     * @type {string}
     * @memberof SysJobDetail
     */
    properties?: string;

    /**
     * 更新时间
     *
     * @type {Date}
     * @memberof SysJobDetail
     */
    updatedTime?: Date;

    /**
     * @type {JobCreateTypeEnum}
     * @memberof SysJobDetail
     */
    createType?: string;

    /**
     * 脚本代码
     *
     * @type {string}
     * @memberof SysJobDetail
     */
    scriptCode?: string;
  }

  /**
   *
   *
   * @export
   * @interface JobDetailInput
   */
  export interface JobDetailInput {
    /**
     * 雪花Id
     *
     * @type {number}
     * @memberof JobDetailInput
     */
    id?: number;

    /**
     * 组名称
     *
     * @type {string}
     * @memberof JobDetailInput
     */
    groupName?: string;

    /**
     * 作业类型FullName
     *
     * @type {string}
     * @memberof JobDetailInput
     */
    jobType?: string;

    /**
     * 程序集Name
     *
     * @type {string}
     * @memberof JobDetailInput
     */
    assemblyName?: string;

    /**
     * 描述信息
     *
     * @type {string}
     * @memberof JobDetailInput
     */
    description?: string;

    /**
     * 是否并行执行
     *
     * @type {boolean}
     * @memberof JobDetailInput
     */
    concurrent?: boolean;

    /**
     * 是否扫描特性触发器
     *
     * @type {boolean}
     * @memberof JobDetailInput
     */
    includeAnnotations?: boolean;

    /**
     * 额外数据
     *
     * @type {string}
     * @memberof JobDetailInput
     */
    properties?: string;

    /**
     * 更新时间
     *
     * @type {Date}
     * @memberof JobDetailInput
     */
    updatedTime?: Date;

    /**
     * @type {JobCreateTypeEnum}
     * @memberof JobDetailInput
     */
    createType?: string;

    /**
     * 脚本代码
     *
     * @type {string}
     * @memberof JobDetailInput
     */
    scriptCode?: string;

    /**
     * 作业Id
     *
     * @type {string}
     * @memberof JobDetailInput
     */
    jobId: string;
  }

  /**
   *
   *
   * @export
   * @interface JobDetailOutput
   */
  export interface JobDetailOutput {
    /**
     * @type {SysJobDetail}
     * @memberof JobDetailOutput
     */
    jobDetail?: SysJobDetail;

    /**
     * 触发器集合
     *
     * @type {Array<SysJobTrigger>}
     * @memberof JobDetailOutput
     */
    jobTriggers?: Array<SysJobTrigger.SysJobTrigger>;
  }

  /**
   *
   *
   * @export
   * @interface DeleteJobDetailInput
   */
  export interface DeleteJobDetailInput {
    /**
     * 作业Id
     *
     * @type {string}
     * @memberof DeleteJobDetailInput
     */
    jobId?: string;
  }
}
